PHPUnit 和 CodeIgniter
全部标签 我已经在MVC应用程序中实现了登录逻辑;我想看看用户是否错误地填写了用户名和密码,如果是的话,我想在View中显示一个通知;所以我通过$data['er'];传递这些信息;但出于某种原因,它没有捕捉到这些数据:请让我知道我的问题是否清楚;如果需要任何澄清,请让我知道哪部分不明确我的代码:classLoginextendsCI_Controller{publicfunction__construct(){parent::__construct();$GLOBALS['er']=False;}publicfunctionindex(){$data['er']=$GLOBALS['er'];
我确信答案就在我面前,但这让我发疯。我到处寻找答案,但找不到。本质上,我试图通过服务器上的cronjob运行脚本,但没有任何效果。但是,当我使用PHP命令行运行它时,它工作正常。期望的效果是定期发送邮件。所以,当我运行这个时:php/var/www/html/index.phpemail_controllerindex电子邮件已发送,一切正常。我正在调用email_controllerController和index方法。index方法不是必需的,如果我不使用它也能正常工作。我的crontab看起来像这样:1815***php/var/www/html/index.phpemail_c
我似乎无法让下面的查询运行并正确返回num_rows。无论发生什么,$query->num_rows>0总是返回false,即使我期望它返回true。有什么想法吗?$post_id=$this->input->post('post_id');$poster_id=$this->input->post('poster_id');$my_id=$this->session->userdata('id');$query=$this->db->query("SELECT*FROMdefault_post_likesWHEREliker_id='$my_id'ANDpost_id='$post_
我正在Laravel4.1中编写我的第一个Artisan命令,想获得一些关于如何测试它的想法。我的命令只做一件事(目前)。它基本上从数据库中删除指定天数的表条目(注释)。命令示例:OneTimeNote:delete--days=25该命令效果极佳。但我首先出于学习目的编写了命令,现在我希望通过测试来遵循它。我正在使用PHPUnit和Mockery。命令代码:http://pastebin.com/index/dZrxpt8x如您所见,我正在注入(inject)我的Note实现(用于抽象),然后我正在执行它的方法之一“deleteNotesOlderThan(int$days)”。就像
我在使用codeigniter进行多次上传时遇到问题,使用图片另一个使用pdf当我上传文件时上传了两次以及如何调用不同的路径上传到数据库。这是我的代码Controllerpublicfunctionupload(){$catalog='catalog';$userfile='userfile';//forcover$config['upload_path']='./file/book/';//Userelativeorabsolutepath$config['allowed_types']='gif|jpg|png|';$config['max_size']='100000';$con
我正在使用$this->input->post('name');获取发布到我的url的请求。除了post,我还需要访问get。就像在普通的php中一样,使用了$_REQUEST。但是在codeigniter标准中,这怎么可能呢? 最佳答案 此处的文档对此进行了概述:http://ellislab.com/codeigniter/user-guide/libraries/input.html要从get中获取数据,您可以使用$this->input->get('some_data',TRUE);在查询字符串中查找some_data,并将
这个问题在这里已经有了答案:MockprivatemethodwithPHPUnit(11个答案)关闭7年前。我有这样一个类:classA{privatefunctiontesting($x){//dosomething$this->privateMethod();}privatefunctionprivateMethod($number){//dosomething}}为了调用testing()我使用这个:$reflection=new\ReflectionClass('A');$method=$reflection->getMethod('testing');$method->se
我正在用PHP编写数据库迁移脚本,我需要在phpunit中模拟gitdiff的结果。这个想法是gitdiff将只返回自上次提交以来在includes/中添加或更新的文件的名称。但当然,随着我处理脚本并提交我的更改,这会不断变化。这是Migrate类和gitDiff方法:#!/usr/bin/php有什么想法吗? 最佳答案 在PHPUnit中:$mock=$this->getMockBuilder('Migrate')->setMethods(array('getDiff'))->getMock();$mock->expects($t
如果我模拟存储库方法find我会得到预期的结果,但如果我调用findBy、findOneBy、findOneById中的任何一个,我总是得到null。代码示例:$mock->expects($this->once())->method('getId')->will($this->returnValue(1));$mockRepository->expects($this->any())->method('findBy')//ifhereIuse'find'worksforallothercasesalwaysnull->will($this->returnValue($mock));发
我试图在更新到Codeigniter3.0时摆脱404Pagenotfound错误我正在使用IonAuth和HMVC库。我已经修复了IonAuth问题,而且我相信(不太确定)我也已经修复了HMVC问题。如果不是不知道如何调试^_^它。但是我已经用各自存储库中的最新版本更新了这两个库。我已成功登录,但当系统尝试在登录后加载第一页时出现404错误,这是日志DEBUG-2015-03-1710:51:51-->UTF-8SupportEnabledDEBUG-2015-03-1710:51:51-->GlobalPOST,GETandCOOKIEdatasanitizedERROR-2015